7.05 图书列表页数据获取
1、创建数据库
create database bms;
use bms;
2、创建图书表
create table book (
id int(11) primary key auto_increment,
title varchar(255) not null,
price float(255,2) not null,
publish_date date not null,
publisher varchar(100) not null,
authors varchar(100) not null
);
3、在python里面创建app
python .\manage.py startapp book
4、在book里面创建urls
5、在bms里面做urls的连接
from django.urls import path
from . import views
urlpatterns=[
path("list",views.book_list)
]
6、设置视图
views:
from django.shortcuts import render
import pymysql
def book_list(request):
#从数据库mysql把图书获取到
conn=pymysql.connect(
host="127.0.0.1",
port=3306,
user="root",
password="502",
db="bms",
charset="utf8",
cursorclass=pymysql.cursors.DictCursor
)
with conn:
with conn.cursor() as cursor:
sql='SELECT * FROM book'
cursor.execute(sql)
books=cursor.fetchall()
print(books)
return render(
request,
template_name="list.html",
context={"books":books}
)
print返回:
[02/Sep/2024 22:20:54] "GET / HTTP/1.1" 200 1665
[{'id': 1, 'title': '西游记', 'price': 9.9, 'publish_date': datetime.date(2023, 10, 19), 'publisher': '李白', 'authors': '人民出版社'}, {'id': 2, 'title': '三
国演义', 'price': 19.0, 'publish_date': datetime.date(2023, 10, 19), 'publisher': '罗贯中', 'authors': '高州出版社'}, {'id': 3, 'title': '红楼梦', 'price': 19
.0, 'publish_date': datetime.date(2023, 10, 19), 'publisher': '曹雪芹', 'authors': '深圳出版社'}]